home *** CD-ROM | disk | FTP | other *** search
- /*
- Visual FX Arexx Script
- Written By J.L. White
- (C)1997 Merlin's Software
- */
-
- Options Results
- address "IMAGEFX.1"
- ScreenToFront
- Undo Off
- if exists("libs:flyer.library") then do
- TOASTERLIB="ToasterARexx.port"
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- end
- call Settings()
- call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
- line = readln(TempFile)
- PicAName = strip(line)
- line = readln(TempFile)
- Start = strip(line)
- line = readln(TempFile)
- End = strip(line)
- line = readln(TempFile)
- IAType = strip(line)
-
- line = readln(TempFile)
- Answer = strip(line)
- line = readln(TempFile)
- Answer2X = strip(line)
- line = readln(TempFile)
- Answer2Y = strip(line)
- line = readln(TempFile)
- Answer3 = strip(line)
- line = readln(TempFile)
- Answer4 = strip(line)
- line = readln(TempFile)
- PathType = strip(line)
- line = readln(TempFile)
- AnswerMove = strip(line)
-
- call close TempFile
-
- Frames = (End - Start)+1
- j=0
- k=0
- TFrames = Frames
- TNum = 3
- if TFrames > 999 then TNum = 4
- if TFrames > 9999 then TNum = 5
- if Field = 1 then TFrames = Frames*2
- do i = Start to End
- k = k+ 1
- call open TempFile,"RAM:VFXNums",W
- call writeln TempFile,right(k,5,'0')
- call writeln TempFile,right(Frames,5,'0')
- call close TempFile
- f=0
- Redraw Off
- j = j+ 1
- FieldSet = 0
- call DoIt()
- Redraw On
- call SaveIt()
- if Field = 1 then do
- Redraw Off
- j = j + 1
- FieldSet = 1
- call DoIt()
- Redraw On
- call SaveIt()
- end
- end
- Undo On
- exit
-
-
-
- LoadA:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if IAType = 0 then do
- LoadBuffer PicAName Force i
- if Field = 1 then do
- GetMain
- parse var result Name Width Height Blah
- if FieldSet = 0 then do
- Hook DeInterlace
- Scale Width Height
- end
- if FieldSet = 1 then do
- Hook DeInterlace
- Swap
- Scale Width Height
- end
- end
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- end
- if IAType = 3 then do
- LoadBuffer PicAName""right(i,TNum,'0') Force
- end
- return
-
-
- GetPathCords:
- PathFile = "VFXIFX:TempDrawer/DrawNum."FXNum
- PathNum = trunc(((j-1) * AnswerMove)/(TFrames-1))
- if PathNum < 1 then PathNum = 1
- call open TempFile,PathFile,R
- do ii = 1 to PathNum
- line = readln(TempFile)
- end
- parse var line MyX" "MyY
- call close TempFile
- return
-
- GetXYCords:
- FrameNum = j
- TotalNum = TFrames
-
- TotalKey = 1
- NumKey = (TotalNum/TotalKey)
- FirstNum = ((NumKey - (NumKey-(FrameNum-1)))%NumKey)+1
- SecNum = FirstNum+1
- if FirstNum = TotalKey then do
- NumKey = NumKey - 1
- NewNum = (((FrameNum-((FirstNum-1)*NumKey)))-(TotalKey-1))
- end
- else
- NewNum = ((FrameNum-((FirstNum-1)*NumKey)))
- if X2 < X1 then do
- DiffX = -((X1-X2)/(NumKey))
- end
- else do
- DiffX = ((X2-X1)/(NumKey))
- end
- if Y2 < Y1 then do
- DiffY = -((Y1-Y2)/(NumKey))
- end
- else do
- DiffY = ((Y2-Y1)/(NumKey))
- end
- MyX = (X1 + (DiffX*NewNum))-DiffX
- MyY = (Y1 + (DiffY*NewNum))-DiffY
- MyX = MyX % 1
- MyY = MyY % 1
- return
-
- SaveIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if SaveType = 0 then do
- call Switcher(TOSW)
- call Switcher(MDV1)
-
- Render Go
- if Field = 1 then
- call RecordAdd(SaveName,1,6,Compression)
- else
- call RecordAdd(SaveName,2,6,Compression)
- if j = TFrames then
- call MakeIcon(SaveName,(Frames-10))
- end
-
- if SaveType = 1 then do
- if Field = 1 then do
- f= f + 1
- if f = 1 then
- SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
- if f = 2 then do
- GetMain
- parse var result Name Width Height Blah
- Scale Width Height/2
- Swap
- LoadBuffer "VFXIFX:TempDrawer/PicA" Force
- Scale Width Height/2
- Hook Interlace
- SaveBufferAs ILBM SaveName""right(k,TNum,'0')
- f = 0
- end
- end
- else do
- SaveBufferAs ILBM SaveName""right(k,TNum,'0')
- end
- end
-
-
- return
-
-
- DoIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- call LoadA()
- DrawMode Normal
- ActiveColor 1
- GetMain
- parse var result Name Width Height Blah
- if PathType = 0 then call GetXYCords()
- if PathType = 1 then call GetPathCords()
- Buffer2Swap
- ClearBuffer Force 0 0 0
- AlphaChannel Off
- EdgeMode FeatherOut Answer3
- FilledOval MyX MyY Answer2X Answer2Y
- if Answer4 = 2 then
- FilledOval Width-MyX MyY Answer2X Answer2Y
- EdgeMode Normal
- Buffer2Alpha
- Swap
- Buffer2Swap
- Brightness Answer
- AlphaChannel FRISKET
- Merge 100 Alpha
- KillAlpha
-
- return
-
-
-
-